package com.basic.modules.ykf.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.basic.common.validator.group.AddGroup;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 酒店列表
 *
 * @author maoheng
 * @email 15738859597@163.com
 * @date 2024-04-10 23:16:00
 */
@Data
public class FaHotelsDataEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	private Long id;
	/**
	 * IDs
	 */
	private List<Long> ids;
	/**
	 * 城市
	 */
	@NotNull(message="城市不能为空", groups = AddGroup.class)
	private Integer hotelsCityId;

	/**
	 * 城市
	 */
	@ExcelProperty(value = "城市")
	private String hotelsCityName;

	/**
	 * keyword
	 */
	private String keyword;

	/**
	 * 酒店ID
	 */
	@NotNull(message=" 酒店ID不能为空", groups = AddGroup.class)
	@ExcelProperty(value = "编号")
	private Long hotelsId;
	/**
	 * 酒店名称
	 */
	@NotBlank(message="酒店名称不能为空", groups = AddGroup.class)
	@ExcelProperty(value = "酒店名称")
	private String title;
	/**
	 * 地址
	 */
	@ExcelProperty(value = "详细地址")
	private String address;
	/**
	 * 电话
	 */
	@ExcelProperty(value = "电话")
	private String tel;
	/**
	 * 开业时间
	 */
	@JsonFormat(pattern = "yyyy")
	@DateTimeFormat(pattern = "yyyy")
	@ExcelProperty(value = "开业时间")
//	@NotNull(message=" 开业时间不能为空", groups = AddGroup.class)
	private Date openingtime;
	/**
	 * 开业年份
	 */
	private String openingYear;
	/**
	 * 装修时间
	 */
	@JsonFormat(pattern = "yyyy")
	@DateTimeFormat(pattern = "yyyy")
	@ExcelProperty(value = "装修时间")
//	@NotNull(message=" 装修时间不能为空", groups = AddGroup.class)
	private Date decorationtime;
	/**
	 * 装修年份
	 */
	private String decorationYear;
	/**
	 * 房间数量
	 */
	@ExcelProperty(value = "房间数量")
	private Integer roomsNum;
	private Integer roomsNumStart;
	private Integer roomsNumEnd;
	/**
	 * 评分
	 */
	@ExcelProperty(value = "评分")
	private BigDecimal score;
	/**
	 * 评分-起
	 */
	private BigDecimal scoreStart;
	/**
	 * 评分-止
	 */
	private BigDecimal scoreEnd;
	/**
	 * 评价数量
	 */
	@ExcelProperty(value = "评价数量")
	private Integer scoreNum;
	/**
	 * 评价数量-起
	 */
	private Integer scoreNumStart;
	/**
	 * 评价数量-止
	 */
	private Integer scoreNumEnd;
	/**
	 * 房型名称
	 */
	@ExcelProperty(value = "房型")
	private String roomNameJson;
	/**
	 * 酒店星级
	 */
	@ExcelProperty(value = "酒店星级")
	private String starRated;
	/**
	 * 合作等级
	 */
	@ExcelProperty(value = "合作等级")
	private String cooperationLevel;
	/**
	 * 状态
	 */
	@ExcelProperty(value = "状态")
	private String status;
	/**
	 * 添加时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createtime;
	/**
	 * 添加时间-起
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createtimeStart;
	/**
	 * 添加时间-止
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createtimeEnd;
	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updatetime;

	/**
	 * 记录笔数
	 */
	private Integer recordCount;

}
